package com.geor.gcv.ict.train;

import org.opencv.core.Mat;

/**
 * 机器学习方式接口
 * 
 * @author lusongnan
 *
 */
public interface Ml {

	/**
	 * 加载机器学习生成的配置文件
	 * 
	 * @param path
	 *            配置文件路径
	 */
	void load(String path)  throws Exception;

	/**
	 * 训练数据
	 * 
	 * @param trainData
	 *            训练数据
	 * @param label
	 *            样本数据类型
	 */
	void train(Mat trainData, Mat label, String out);

	/**
	 * 预测数据
	 * 
	 * @param sample
	 *            需要预测的Mat
	 * @return
	 */
	float predict(Mat sample);
	
	boolean isSuccess();

}
